BIN=processpool            # 用到的可执行程序是
CC=g++                     # 用到的编译器是g++ 取名CC
FLAGS=-c -Wall -std=c++11  # 编译选项  -W all  把所有告警不要隐藏显示出来
LDFLAGS=-o                 # 链接选项
# SRC=$(shell ls *.cc)
SRC=$(wildcard *.cc)       # wildcard 是Makefile中的一个函数把所有.cc文件名罗列出来和上一行一样  把右边执行命令的结果放在SRC这个变量中
OBJ=$(SRC:.cc=.o)          # SRC里面的 .cc文件 换成.o文件

# 以上都是声明

$(BIN):$(OBJ)           #BIN依赖于OBJ，用所有的OBJ把.o链接形成一个可执行程序
	$(CC) $(LDFLAGS) $@ $^

%.o:%.cc                # %是Makefile里面的通配符   把所有的.cc通过g++ 使用-c选项 形成一个一个的同名.o
	$(CC) $(FLAGS) $<

.PHONY:clean
clean:
	rm -f $(BIN) $(OBJ)

.PHONY:test
test:
	@echo $(SRC)
	@echo $(OBJ)
